package com.example.pilipili.controller;


import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.example.pilipili.common.R;
import com.example.pilipili.pojo.entity.Privileges;
import com.example.pilipili.pojo.entity.Tag;
import com.example.pilipili.service.TagService;
import jakarta.validation.Valid;
import lombok.AllArgsConstructor;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;

import org.springframework.stereotype.Controller;

import java.util.List;

/**
 * <p>
 *  前端控制器
 * </p>
 *
 * @author liyv
 * @since 2023-12-01
 */
@RestController
@RequestMapping("/tags")
public class TagController {

    @Autowired
    TagService tagService ;

    /**
     * 新增类别
     * @param tag name
     * @return
     */
    @PostMapping
    public R<Tag> save(@RequestBody @Valid Tag tag){

        return tagService.add(tag) ;
    }

    /**
     * 删除类别
     * @param  tid tagid
     * @return null
     */

    @DeleteMapping("/{tid}")
    public R del(@PathVariable Integer tid) {
        tagService.removeById(tid) ;
        return R.ok() ;

    }

    /**
     * 获取所有类别
     * @return list tag
     */
    @GetMapping
    public R<List<Tag>> getAll(){
        return R.ok(tagService.list());
    }


    /**
     * 修改类别
     * @param tag name
     * @return tag
     */
    @PutMapping
    public R<Tag> updateById(@RequestBody @Valid Tag tag) {
        return tagService.update(tag) ;
    }

}

